#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
int main(int argc, char const *argv[])
{
    //打开test1.txt的读文件流
    int fd = open("test1.txt",O_RDONLY);
    if(fd == -1) {
        perror("open");
        return 1;
    }
    //打开test2.txt的写文件流
    int fd2 = open("test2.txt", O_WRONLY | O_CREAT | O_APPEND,0664);
    if(fd2 == -1) {
        perror("open");
        close(fd); // 确保在错误时关闭已打开的文件描述符
        return 1;
    }
    size_t read_len;
    // 进行读写操作
    char buf[100];
    while((read_len = read(fd, buf, sizeof(buf))) > 0) {
        // 将读取的内容写入到test2.txt
        write(fd2, buf, read_len);
        // 输出读取的内容到标准输出
        write(STDOUT_FILENO, buf, read_len);

    }
    if(read_len == -1) {
        perror("read");
        close(fd);
        close(fd2);
        return 1;
    }
    
    close(fd);
    close(fd2);
    return 0;
}


